package com.ruoyi.operator.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.operator.domain.OptMemberOrder;
import com.ruoyi.operator.domain.OptShopMember;
import org.springframework.stereotype.Repository;

/**
 * 商户会员Mapper接口
 * 
 * @author zhanghang
 * @date 2021-01-20
 */
@Repository
public interface OptShopMemberMapper 
{
    /**
     * 查询商户会员
     * 
     * @param id 商户会员ID
     * @return 商户会员
     */
    public OptShopMember selectOptShopMemberById(Long id);

    /**
     * 查询商户会员列表
     * 
     * @param optShopMember 商户会员
     * @return 商户会员集合
     */
    public List<OptShopMember> selectOptShopMemberList(OptShopMember optShopMember);

    /**
     * 查询商户会员数
     *
     * @param deptId 组织id
     * @return 商户会员集合
     */
    public int selectMemberCountByDept(Long deptId);


    /**
     * 新增商户会员
     * 
     * @param optShopMember 商户会员
     * @return 结果
     */
    public int insertOptShopMember(OptShopMember optShopMember);

    /**
     * 修改商户会员
     * 
     * @param optShopMember 商户会员
     * @return 结果
     */
    public int updateOptShopMember(OptShopMember optShopMember);

    /**
     * 删除商户会员
     * 
     * @param id 商户会员ID
     * @return 结果
     */
    public int deleteOptShopMemberById(Long id);

    /**
     * 批量删除商户会员
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOptShopMemberByIds(String[] ids);


    /**
     * 校验相同商户下手机号码是否唯一
     *
     * @param optShopMember 会员信息
     * @return 结果
     */
    public OptShopMember checkPhoneUnique(OptShopMember optShopMember);


    /**
     * 查询会员余额
     *
     * @param id 商户会员ID
     * @return 结果
     */
    BigDecimal selectBalanceById(Long id);

    /**
     * 查询会员
     *
     * @param memberCardNumber 商户会员ID
     * @return 结果
     */
    OptShopMember selectMemberByCardNumber(String memberCardNumber);

    void updateOptShopMemberBalance(OptShopMember optshopmember);

    int SelectMobileNumber(OptShopMember optShopMember);

    int updateByIds(OptShopMember optShopMember);



    List<Map<String, Object>> getSameDayMembers(OptMemberOrder optMemberOrder);


    int updateOptShopMemberinfo(OptShopMember optShopMember);

}
